package com.example.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.user.entity.User;
import com.example.user.api.UserDTO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface UserService extends IService<User> {

    /**
     * 创建用户
     */
    boolean createUser(UserDTO userDTO);

    /**
     * 更新用户信息
     * @return 是否成功
     */
    boolean updateUser(UserDTO userDTO);


    /**
     * 删除用户
     * @return 是否成功
     */
    boolean deleteUser(Long userId);

    //删除 delete字段置为1存在 0删除
    //boolean softdeleteUser(Long userId);

    /**
     * 获取用户详情
     * @return 用户信息
     */
    UserDTO getUserById(Long userId);


    /**
     * 获取用户列表
     * @return 用户列表
     */
    List<UserDTO> listUsers();

    /**
     * 辅助 方法
     */
    //根据name查询用户
    UserDTO getUserByName(String name);
}
